package com.dailyblue.java.thread.生产者消费者;

import lombok.SneakyThrows;

import java.util.Stack;

public class 经销商 {

    private Stack<产品> 仓库 = new Stack<>();

    private static final Integer 最大容量 = 10;

    @SneakyThrows
    public synchronized void 进货(产品 cp) {
        if (仓库.size() == 最大容量) {
            System.out.println("仓库满了，不能进货了！");
            wait();
        }
        仓库.push(cp);
        notify(); // 唤醒的是售卖的线程
    }

    @SneakyThrows
    public synchronized 产品 售卖() {
        if (仓库.size() == 0) {
            System.out.println("没有货了，请稍等！");
            wait();
        }
        产品 cp = 仓库.pop();
        notify(); // 唤醒的是进货的线程
        return cp;
    }
}
